home *** CD-ROM | disk | FTP | other *** search
/ Delphi Programmer's Power Pack / Delphi Volume 1.iso / s_to_z / vrmeta / vrmeta.int < prev    next >
Text File  |  1996-09-15  |  2KB  |  63 lines

  1. {Name: VRMETA v1.2
  2.  Copyright: Visual Solutions Ltd 1996
  3.  Purpose: Metafile with drawing capabilites}
  4. unit VRMeta;
  5.  
  6. interface
  7. {$B-}{will not work with full expr eval!!!}
  8.  
  9. uses
  10.     SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Forms, Dialogs;
  11.  
  12. Type
  13.  
  14. TOnPlayRecord=function(hdc: HDC; PHTable:PHandleTable; MFR:PMetaRecord; Handles:word) :word of object;
  15.  
  16. {Delphi for some reason does not define this structure!
  17. This structure represents the PlaceableMetafile Header}
  18. TMETAFILEHEADER =record
  19. key:longint;
  20. hmf:THandle;
  21. bbox:TRect;
  22. inch:word;
  23. reserved:longint;
  24. checksum:word;
  25. end;
  26.  
  27. TVRMetafile = class(TMetafile)
  28.     public
  29.         constructor Create;
  30.         destructor Destroy; override;
  31.         property Canvas:TCanvas 
  32.         property Handle:HMetafile
  33.         property TmpFileName:pstring 
  34.         property IsDiskBased:boolean 
  35.         property SetMM:boolean 
  36.         procedure EnumMeta(hmf: HMETAFILE);
  37.         procedure Play(hdc:HDC);
  38.         procedure Print(hdc:HDC);
  39.         procedure Merge(MF: TMetafile);
  40.         procedure ScaleMerge(MF: TMetafile);
  41.         procedure ScaleMergeOffset(MF: TMetafile; Offset:TPoint);
  42.         procedure StretchMerge(MF: TMetafile;ImageWidth,ImageHeight:integer);
  43.         procedure StretchMergeOffset(MF: TMetafile; Offset:TPoint;ImageWidth,ImageHeight:integer);
  44.         procedure ResetDefaults;
  45.         procedure Close;
  46.         procedure FreeImage;
  47.         function ReleaseHandle:HMETAFILE;
  48.         {Events}
  49.         property OnPlayRecord:TOnPlayRecord read FOnPlayRecord write FOnPlayRecord;
  50.         procedure Assign(Source: TPersistent); override;
  51.         procedure LoadFromFile(const Filename: string); virtual;
  52.         procedure SaveToFile(const Filename: string); virtual;
  53.         procedure LoadFromStream(Stream: TStream); virtual;
  54.         procedure SaveToStream(Stream: TStream); virtual;
  55.         procedure LoadFromClipboardFormat(AFormat:Word; AData:THandle; APalette: HPALETTE); virtual;
  56.         procedure SaveToClipboardFormat(var AFormat:Word; var AData:THandle; var APalette:HPALETTE); virtual;
  57.     prcoedure CopyToClipBoard;
  58. end;
  59.  
  60.  
  61. {Generic global proc to trf any std metafile to clipboard}
  62. procedure MetafileToClipBoard(MF:TMetafile);
  63.